/*
 * $Id: QECountry.m 90 2009-07-16 03:06:57Z jon@bway.net $
 * Sleeper
 *
 * Created by Jon Gordon on 3/15/08
 * Copyright Jon Gordon.  All rights reserved.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining 
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including 
 * without limitation the rights to use, copy, modify, merge, publish, 
 * distribute, sublicense, and/or sell copies of the Software, and to 
 * permit persons to whom the Software is furnished to do so, subject to 
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


#import "QECountry.h"

NSString *qeKeyCountryDesigIndep;
NSString *qeKeyCountryDesigTerr;
NSString *qeKeyCountryDesigIntlZone;
NSString *qeKeyCountryDesigAutReg;
NSString *qeKeyCountryDesigAdmin;
NSString *qeKeyCountryDesigContest;

static NSMutableSet *allCountries;
static NSMutableDictionary *countriesByUid;
static NSMutableDictionary *countriesByIso3166_1num;
static NSMutableDictionary *countriesByIso3166_1alpha2;
static NSMutableDictionary *countriesByIso3166_1alpha3;
static NSMutableDictionary *countriesByFips10_4;

@interface QECountry (private)
- (id)initWithUid:(uint32_t)newUid
             name:(NSString *)newName
         longName:(NSString *)newLongName
      designation:(NSString *)newDesignation
     iso3166_1num:(NSString *)newIso3166_1num
  iso3166_1alpha2:(NSString *)newIso3166_1alpha2
  iso3166_1alpha3:(NSString *)newIso3166_1alpha3
         fips10_4:(NSString *)newFips10_4
     dependencyOf:(QECountry *)newDependencyOf;

- (void)setUid:(uint32_t)newValue;
- (void)setName:(NSString *)newName;
- (void)setLongName:(NSString *)newLongName;
- (void)setDesignation:(NSString *)newDesignation;
- (void)setIso3166_1num:(NSString *)newIso3166_1num;
- (void)setIso3166_1alpha2:(NSString *)newIso3166_1alpha2;
- (void)setIso3166_1alpha3:(NSString *)newIso3166_1alpha3;
- (void)setFips10_4:(NSString *)newFips10_4;
- (void)setDependencyOf:(QECountry *)newDependencyOf;

+ (QECountry *)findCountryMatchingPredicate:(NSPredicate *)predicate;
+ (void)createCountries;
+ (QECountry *)createCountryWithUid:(uint32_t)newUid
                               name:(NSString *)newName
                           longName:(NSString *)newLongName
                        designation:(NSString *)newDesignation
                       iso3166_1num:(NSString *)newIso3166_1num
                    iso3166_1alpha2:(NSString *)newIso3166_1alpha2
                    iso3166_1alpha3:(NSString *)newIso3166_1alpha3
                           fips10_4:(NSString *)newFips10_4
                       dependencyOf:(QECountry *)newDependencyOf;
@end


@implementation QECountry
#pragma mark LIFECYCLE METHODS
+ (void)initialize
{
    //-NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    static BOOL initialized = NO;
    if (!initialized) {
        initialized = YES;
        //-NSLog(@"  initializing");
        qeKeyCountryDesigIndep    = [[NSString alloc] initWithString:@"independent"];
        qeKeyCountryDesigTerr     = [[NSString alloc] initWithString:@"territory"];
        qeKeyCountryDesigIntlZone = [[NSString alloc] initWithString:@"international zone"];
        qeKeyCountryDesigAutReg   = [[NSString alloc] initWithString:@"autonomous region"];
        qeKeyCountryDesigAdmin    = [[NSString alloc] initWithString:@"administrative division"];
        qeKeyCountryDesigContest  = [[NSString alloc] initWithString:@"contested region"];
        
        allCountries = [[NSMutableSet alloc] init];
        countriesByUid = [[NSMutableDictionary alloc] init];
        countriesByIso3166_1num = [[NSMutableDictionary alloc] init];
        countriesByIso3166_1alpha2 = [[NSMutableDictionary alloc] init];
        countriesByIso3166_1alpha3 = [[NSMutableDictionary alloc] init];
        countriesByFips10_4 = [[NSMutableDictionary alloc] init];
        
        [self createCountries];
    } // if
} // initialize

+ (QECountry *)createCountryWithUid:(uint32_t)newUid
                               name:(NSString *)newName
                           longName:(NSString *)newLongName
                        designation:(NSString *)newDesignation
                       iso3166_1num:(NSString *)newIso3166_1num
                    iso3166_1alpha2:(NSString *)newIso3166_1alpha2
                    iso3166_1alpha3:(NSString *)newIso3166_1alpha3
                           fips10_4:(NSString *)newFips10_4
                       dependencyOf:(QECountry *)newDependencyOf
{
    //-NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);

    // integrity checks before creating country record
    // Check 1: uid must be, well, unique and non-zero
    NSAssert(0 != newUid, @"country cannot have 0 as UID");
    NSNumber *wNewUid = [NSNumber numberWithUnsignedLong:newUid];
    NSAssert2((nil == [countriesByUid objectForKey:wNewUid]),
              @"integrity check failed: uid %@ already assigned to country %@",
              wNewUid,
              [countriesByUid objectForKey:wNewUid]);
    
    // Check 2: gotta have a name
    NSAssert(((newName != nil) && [newName length] > 0) || ((newLongName != nil) && ([newLongName length] > 0)),
             @"integrity check failed: country must have a name, a long name, or both");
    
    // Check 3: gotta have a designation
    NSAssert(nil != newDesignation, @"integrity check failed: country must have a designation");
    
    // Check 4: designation must be compatible with dependencyOf field
    NSAssert1( ( ((nil == newDependencyOf) && 
                 ((qeKeyCountryDesigIndep == newDesignation) || 
                  (qeKeyCountryDesigIntlZone == newDesignation) || 
                  (qeKeyCountryDesigContest == newDesignation)) ) || 
               (qeKeyCountryDesigTerr == newDesignation) || 
               (qeKeyCountryDesigAutReg == newDesignation) || 
               (qeKeyCountryDesigAdmin == newDesignation)
               ), @"integrity check failed for %@: dependencyOf is inconsistent with designation",
              (nil != newName ? newName : newLongName));
    
    
    // Check 5: iso3166_1 and fips10_4 codes must be unique or nil, except for dependencies
    // of a common country
    QECountry *match;
    if (nil != newIso3166_1num) {
        match = [countriesByIso3166_1num objectForKey:newIso3166_1num];
        NSAssert2(((nil == match) ||
                   ((nil != newDependencyOf) &&
                    ([newDependencyOf partOfIndependentCountry] == [match partOfIndependentCountry]))),
                  @"integrity check failed: ISO 3166-1 numeric code must be absent or unique; code %@ already refers to", 
                  newIso3166_1num,
                  [match defaultName]);
    } // if
    if (nil != newIso3166_1alpha2) {
        match = [countriesByIso3166_1alpha2 objectForKey:newIso3166_1alpha2];
        NSAssert2(((nil == match) ||
                   ((nil != newDependencyOf) &&
                    ([newDependencyOf partOfIndependentCountry] == [match partOfIndependentCountry]))),
                  @"integrity check failed: ISO 3166-1 alpha-2 code must be absent or unique; code %@ already refers to", 
                  newIso3166_1alpha2,
                  [match defaultName]);
    } // if
    if (nil != newIso3166_1alpha3) {
        match = [countriesByIso3166_1alpha3 objectForKey:newIso3166_1alpha3];
        NSAssert2(((nil == match) ||
                   ((nil != newDependencyOf) &&
                    ([newDependencyOf partOfIndependentCountry] == [match partOfIndependentCountry]))),
                  @"integrity check failed: ISO 3166-1 alpha-3 code must be absent or unique; code %@ already refers to", 
                  newIso3166_1alpha3,
                  [match defaultName]);
    } // if
    if (nil != newFips10_4) {
        match = [countriesByFips10_4 objectForKey:newFips10_4];
        NSAssert2(((nil == match) ||
                   ((nil != newDependencyOf) &&
                    ([newDependencyOf partOfIndependentCountry] == [match partOfIndependentCountry]))),
                  @"integrity check failed: FIPS 10-4 code must be absent or unique; code %@ already refers to", 
                  newFips10_4,
                  [match defaultName]);
    } // if
    
    QECountry *result = [[QECountry alloc] initWithUid:newUid
                                                  name:(NSString *)newName
                                              longName:(NSString *)newLongName
                                           designation:(NSString *)newDesignation
                                          iso3166_1num:(NSString *)newIso3166_1num
                                       iso3166_1alpha2:(NSString *)newIso3166_1alpha2
                                       iso3166_1alpha3:(NSString *)newIso3166_1alpha3
                                              fips10_4:(NSString *)newFips10_4
                                          dependencyOf:(QECountry *)newDependencyOf];
    
    if (nil != result) {
        // update indexes
        [allCountries addObject:result];
        [countriesByUid setObject:result forKey:wNewUid];
        if (nil != newIso3166_1num) {
            [countriesByIso3166_1num setObject:result forKey:newIso3166_1num];
        } // if
        if (nil != newIso3166_1alpha2) {
            [countriesByIso3166_1alpha2 setObject:result forKey:newIso3166_1alpha2];
        } // if
        if (nil != newIso3166_1alpha3) {
            [countriesByIso3166_1alpha3 setObject:result forKey:newIso3166_1alpha3];
        } // if
        if (nil != newFips10_4) {
            [countriesByFips10_4 setObject:result forKey:newFips10_4];
        } // if
    } // if
    
    //-NSLog(@"  created %@", [result defaultName]);
    
    return result;
} // createCountryWithUid:name:longName:designation:iso3166_1num:iso3166_1alpha2:iso3166_1alpha3:fips10_4:dependencyOf:

- (id)initWithUid:(uint32_t)newUid
             name:(NSString *)newName
         longName:(NSString *)newLongName
      designation:(NSString *)newDesignation
     iso3166_1num:(NSString *)newIso3166_1num
  iso3166_1alpha2:(NSString *)newIso3166_1alpha2
  iso3166_1alpha3:(NSString *)newIso3166_1alpha3
         fips10_4:(NSString *)newFips10_4
     dependencyOf:(QECountry *)newDependencyOf
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    self = [super init];
    if (nil != self) {
        [self setUid:newUid];
        [self setName:newName];
        [self setLongName:newLongName];
        [self setDesignation:newDesignation];
        [self setIso3166_1num:newIso3166_1num];
        [self setIso3166_1alpha2:newIso3166_1alpha2];
        [self setIso3166_1alpha3:newIso3166_1alpha3];
        [self setFips10_4:newFips10_4];
        [self setDependencyOf:newDependencyOf];
    } // if
    return self;
} // initWithUid:name:longName:designation:iso3166_1num:iso3166_1alpha2:iso3166_1alpha3:fips10_4:dependencyOf:

- (void)dealloc
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    
    [name release];
    [longName release];
    [designation release];
    [iso3166_1num release];
    [iso3166_1alpha2 release];
    [iso3166_1alpha3 release];
    [fips10_4 release];
    
    [super dealloc];
} // dealloc

- (id)copyWithZone:(NSZone *)zone
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    
    QECountry *newData = [[[self class] allocWithZone:zone]
                          initWithUid:[self uid]
                          name:[self name] 
                          longName:[self longName]
                          designation:[self designation]
                          iso3166_1num:[self iso3166_1num]
                          iso3166_1alpha2:[self iso3166_1alpha2]
                          iso3166_1alpha3:[self iso3166_1alpha3]
                          fips10_4:[self fips10_4]
                          dependencyOf:[self dependencyOf]];
    return newData;
} // copyWithZone:

- (unsigned int)hash
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    static const unsigned int HASH_BASE = 17;
    static const unsigned int HASH_FACTOR = 37;
    
    unsigned int result = HASH_BASE;
    result = (result * HASH_FACTOR) + [[self name] hash];
    result = (result * HASH_FACTOR) + [[self longName] hash];
    result = (result * HASH_FACTOR) + [[self designation] hash];
    result = (result * HASH_FACTOR) + [[self iso3166_1num] hash];
    result = (result * HASH_FACTOR) + [[self iso3166_1alpha2] hash];
    result = (result * HASH_FACTOR) + [[self iso3166_1alpha3] hash];
    result = (result * HASH_FACTOR) + [[self fips10_4] hash];
    result = (result * HASH_FACTOR) + [[self dependencyOf] hash];
    
    return result;
} // hash

- (BOOL)isEqual:(id)anObject
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    
    return ((self == anObject) ||
            ([[self name] isEqual:[anObject name]] &&
             [[self longName] isEqual:[anObject longName]] &&
             [[self designation] isEqual:[anObject designation]] &&
             [[self iso3166_1num] isEqual:[anObject iso3166_1num]] &&
             [[self iso3166_1alpha2] isEqual:[anObject iso3166_1alpha2]] &&
             [[self iso3166_1alpha3] isEqual:[anObject iso3166_1alpha3]] &&
             [[self fips10_4] isEqual:[anObject fips10_4]] &&
             [[self dependencyOf] isEqual:[anObject dependencyOf]]));
} // isEqual:


#pragma mark DATA ACCESS
+ (NSArray *)allCountries
{
    //-NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [allCountries allObjects];
} // allCountries

+ (NSArray *)allIndependentCountries
{
    //-NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"designation LIKE %@", qeKeyCountryDesigIndep];
    return [[allCountries filteredSetUsingPredicate:predicate] allObjects];
} // allIndependentCountries

+ (QECountry *)countryForUid:(uint32_t)uid
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSNumber *wUid = [NSNumber numberWithUnsignedLong:uid];
    return [countriesByUid objectForKey:wUid];
} // countryForUid

+ (QECountry *)countryForName:(NSString *)name
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name LIKE %@", name];
    return [QECountry findCountryMatchingPredicate:predicate];
} // countryForName:

+ (NSArray *)countriesForNames:(NSArray *)names
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSMutableArray *result = [NSMutableArray arrayWithCapacity:[names count]];
    NSEnumerator *namesEnum = [names objectEnumerator];
    QECountry *country = nil;
    while (nil != (country = [namesEnum nextObject])) {
        [result addObject:country];
    } // while
    return [NSArray arrayWithArray:result];
} // countriesForNames:

+ (QECountry *)countryForIso3166_1num:(NSString *)isoCode
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"iso3166_1num LIKE %@", isoCode];
    return [QECountry findCountryMatchingPredicate:predicate];
} // countryForIso3166_1num:

+ (QECountry *)countryForIso3166_1alpha2:(NSString *)isoCode
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"iso3166_1alpha2 LIKE %@", isoCode];
    return [QECountry findCountryMatchingPredicate:predicate];
} // countryForIso3166_1alpha2:

+ (QECountry *)countryForIso3166_1alpha3:(NSString *)isoCode
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"iso3166_1alpha3 LIKE %@", isoCode];
    return [QECountry findCountryMatchingPredicate:predicate];
} // countryForIso3166_1alpha3

+ (QECountry *)countryForFips10_4:(NSString *)fipsCode
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"fips10_4 LIKE %@", fipsCode];
    return [QECountry findCountryMatchingPredicate:predicate];
} // countryForFips10_4:

+ (QECountry *)findCountryMatchingPredicate:(NSPredicate *)predicate
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    QECountry *result = nil;
    NSArray *matches = [[allCountries filteredSetUsingPredicate:predicate] allObjects];
    
    if (nil != matches) {
        NSAssert2(([matches count] == 0) || ([matches count] == 1),
                  @"too many countries (%u) match predicate %@",
                  [matches count],
                  [predicate predicateFormat]);
        if (1 == [matches count]) {
            result = [matches objectAtIndex:0];
        } // if
    } // if
    return result;
} // findCountryMatchingPredicate:


#pragma mark PROPERTIES
- (uint32_t)uid
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return uid;
} // uid

- (void)setUid:(uint32_t)newValue
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    uid = newValue;
} // setUid:


- (NSString *)name
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[name retain] autorelease];
} // name

- (void)setName:(NSString *)newName
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (name != newName) {
        [name autorelease];
        name = [newName copy];
    } // if
} // setName:


- (NSString *)longName
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[longName retain] autorelease];
} // longName

- (void)setLongName:(NSString *)newLongName
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (longName != newLongName) {
        [longName autorelease];
        longName = [newLongName copy];
    } // if
} // setLongName:


- (NSString *)defaultName
{
    NSString *result = [self name];
    if (nil == result) {
        result = [self longName];
    } // if
    
    return result;
} // defaultName


- (NSString *)designation
{
    //// NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[designation retain] autorelease];
} // designation

- (void)setDesignation:(NSString *)newDesignation
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (designation != newDesignation) {
        [designation autorelease];
        designation = [newDesignation copy];
    } // if
} // setDesignation:


- (NSString *)iso3166_1num
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[iso3166_1num retain] autorelease];
} // iso3166_1num

- (void)setIso3166_1num:(NSString *)newIso3166_1num
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (iso3166_1num != newIso3166_1num) {
        [iso3166_1num autorelease];
        iso3166_1num = [newIso3166_1num copy];
    } // if
} // setIso3166_1num:


- (NSString *)iso3166_1alpha2
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[iso3166_1alpha2 retain] autorelease];
} // iso3166_1alpha2

- (void)setIso3166_1alpha2:(NSString *)newIso3166_1alpha2
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (iso3166_1alpha2 != newIso3166_1alpha2) {
        [iso3166_1alpha2 autorelease];
        iso3166_1alpha2 = [newIso3166_1alpha2 copy];
    } // if
} // setIso3166_1alpha2:


- (NSString *)iso3166_1alpha3
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[iso3166_1alpha3 retain] autorelease];
} // iso3166_1alpha3

- (void)setIso3166_1alpha3:(NSString *)newIso3166_1alpha3
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (iso3166_1alpha3 != newIso3166_1alpha3) {
        [iso3166_1alpha3 autorelease];
        iso3166_1alpha3 = [newIso3166_1alpha3 copy];
    } // if
} // setIso3166_1alpha3:


- (NSString *)fips10_4
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[fips10_4 retain] autorelease];
} // fips10_4

- (void)setFips10_4:(NSString *)newFips10_4
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (fips10_4 != newFips10_4) {
        [fips10_4 autorelease];
        fips10_4 = [newFips10_4 copy];
    } // if
} // setFips10_4:


- (QECountry *)dependencyOf
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return [[dependencyOf retain] autorelease];
} // dependencyOf

- (void)setDependencyOf:(QECountry *)newDependencyOf
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    if (dependencyOf != newDependencyOf) {
        [dependencyOf autorelease];
        dependencyOf = [newDependencyOf retain];
    } // if
} // setDependencyOf:


- (BOOL)isDependency
{
    // NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    return (nil != [self dependencyOf]);
} // isDependency


- (QECountry *)partOfIndependentCountry {
    QECountry *parent = [self dependencyOf];
    if (nil == parent) {
        return self;
    } else {
        return [parent partOfIndependentCountry];
    } // else
} // partOfIndependentCountry


/*
 * Creates the Country database as a data structure
 */
+ (void)createCountries {
    //-NSLog(@"MESSAGE: %s", __PRETTY_FUNCTION__);
    QECountry *tmp = nil;
    QECountry *tmpSub = nil;
    
#pragma mark COUNTRIES A
    [QECountry createCountryWithUid:1 name:@"Afghanistan" longName:@"Islamic Republic of Afghanistan" designation:qeKeyCountryDesigIndep iso3166_1num:@"004" iso3166_1alpha2:@"AF" iso3166_1alpha3:@"AFG" fips10_4:@"AF" dependencyOf:nil];
    [QECountry createCountryWithUid:2 name:@"Albania" longName:@"Republic of Albania" designation:qeKeyCountryDesigIndep iso3166_1num:@"008" iso3166_1alpha2:@"AL" iso3166_1alpha3:@"ALB" fips10_4:@"AL" dependencyOf:nil];
    [QECountry createCountryWithUid:3 name:@"Algeria" longName:@"People's Democratic Republic of Algeria" designation:qeKeyCountryDesigIndep iso3166_1num:@"012" iso3166_1alpha2:@"DZ" iso3166_1alpha3:@"DZA" fips10_4:@"AG" dependencyOf:nil];
    [QECountry createCountryWithUid:4 name:@"Andorra" longName:@"Principality of Andorra" designation:qeKeyCountryDesigIndep iso3166_1num:@"020" iso3166_1alpha2:@"AD" iso3166_1alpha3:@"AND" fips10_4:@"AN" dependencyOf:nil];
    [QECountry createCountryWithUid:5 name:@"Angola" longName:@"Republic of Angola" designation:qeKeyCountryDesigIndep iso3166_1num:@"024" iso3166_1alpha2:@"AO" iso3166_1alpha3:@"AGO" fips10_4:@"AO" dependencyOf:nil];
    [QECountry createCountryWithUid:6 name:@"Antarctica" longName:nil designation:qeKeyCountryDesigIntlZone iso3166_1num:@"010" iso3166_1alpha2:@"AQ" iso3166_1alpha3:@"ATA" fips10_4:@"AY" dependencyOf:nil];
    [QECountry createCountryWithUid:7 name:@"Antigua and Barbuda" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"028" iso3166_1alpha2:@"AG" iso3166_1alpha3:@"ATG" fips10_4:@"AC" dependencyOf:nil];
    [QECountry createCountryWithUid:8 name:@"Argentina" longName:@"Argentine Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"032" iso3166_1alpha2:@"AR" iso3166_1alpha3:@"ARG" fips10_4:@"AR" dependencyOf:nil];
    [QECountry createCountryWithUid:9 name:@"Armenia" longName:@"Republic of Armenia" designation:qeKeyCountryDesigIndep iso3166_1num:@"051" iso3166_1alpha2:@"AM" iso3166_1alpha3:@"ARM" fips10_4:@"AM" dependencyOf:nil];
    
#pragma mark Australia and Possessions
    tmp = [QECountry createCountryWithUid:10 name:@"Australia" longName:@"Commonwealth of Australia" designation:qeKeyCountryDesigIndep iso3166_1num:@"036" iso3166_1alpha2:@"AU" iso3166_1alpha3:@"AUS" fips10_4:@"AS" dependencyOf:nil];
    [QECountry createCountryWithUid:11 name:@"Ashmore and Cartier Islands" longName:@"Territory of Ashmore and Cartier Islands" designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"AT" dependencyOf:tmp];
    [QECountry createCountryWithUid:12 name:@"Christmas Island" longName:@"Territory of Christmas Island" designation:qeKeyCountryDesigTerr iso3166_1num:@"162" iso3166_1alpha2:@"CX" iso3166_1alpha3:@"CXR" fips10_4:@"KT" dependencyOf:tmp];
    [QECountry createCountryWithUid:13 name:@"Cocos (Keeling) Islands" longName:@"Territory of Cocos (Keeling) Islands" designation:qeKeyCountryDesigTerr iso3166_1num:@"166" iso3166_1alpha2:@"CC" iso3166_1alpha3:@"CCK" fips10_4:@"CK" dependencyOf:tmp];
    [QECountry createCountryWithUid:14 name:@"Coral Sea Islands" longName:@"Coral Sea Islands Territory" designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"CR" dependencyOf:nil];
    [QECountry createCountryWithUid:15 name:@"Heard Island and McDonald Islands" longName:@"Territory of Heard Island and McDonald Islands" designation:qeKeyCountryDesigTerr iso3166_1num:@"334" iso3166_1alpha2:@"HM" iso3166_1alpha3:@"HMD" fips10_4:@"HM" dependencyOf:tmp];
    [QECountry createCountryWithUid:16 name:@"Norfolk Island" longName:@"Territory of Norfolk Island" designation:qeKeyCountryDesigTerr iso3166_1num:@"574" iso3166_1alpha2:@"NF" iso3166_1alpha3:@"NFK" fips10_4:@"NF" dependencyOf:tmp];
    
    [QECountry createCountryWithUid:17 name:@"Austria" longName:@"Republic of Austria" designation:qeKeyCountryDesigIndep iso3166_1num:@"040" iso3166_1alpha2:@"AT" iso3166_1alpha3:@"AUT" fips10_4:@"AU" dependencyOf:nil];
    [QECountry createCountryWithUid:18 name:@"Azerbaijan" longName:@"Republic of Azerbaijan" designation:qeKeyCountryDesigIndep iso3166_1num:@"031" iso3166_1alpha2:@"AZ" iso3166_1alpha3:@"AZE" fips10_4:@"AJ" dependencyOf:nil];
    
#pragma mark COUNTRIES B
    [QECountry createCountryWithUid:19 name:@"Bahamas, The" longName:@"Commonwealth of the Bahamas" designation:qeKeyCountryDesigIndep iso3166_1num:@"044" iso3166_1alpha2:@"BS" iso3166_1alpha3:@"BHS" fips10_4:@"BF" dependencyOf:nil];
    [QECountry createCountryWithUid:20 name:@"Bahrain" longName:@"Kingdom of Bahrain" designation:qeKeyCountryDesigIndep iso3166_1num:@"048" iso3166_1alpha2:@"BH" iso3166_1alpha3:@"BHR" fips10_4:@"BA" dependencyOf:nil];
    [QECountry createCountryWithUid:21 name:@"Bangladesh" longName:@"People's Republic of Bangladesh" designation:qeKeyCountryDesigIndep iso3166_1num:@"050" iso3166_1alpha2:@"BD" iso3166_1alpha3:@"BGD" fips10_4:@"BG" dependencyOf:nil];
    [QECountry createCountryWithUid:22 name:@"Barbados" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"052" iso3166_1alpha2:@"BB" iso3166_1alpha3:@"BRB" fips10_4:@"BB" dependencyOf:nil];
    [QECountry createCountryWithUid:23 name:@"Belarus" longName:@"Republic of Belarus" designation:qeKeyCountryDesigIndep iso3166_1num:@"112" iso3166_1alpha2:@"BY" iso3166_1alpha3:@"BLR" fips10_4:@"BO" dependencyOf:nil];
    [QECountry createCountryWithUid:24 name:@"Belgium" longName:@"Kingdom of Belgium" designation:qeKeyCountryDesigIndep iso3166_1num:@"056" iso3166_1alpha2:@"BE" iso3166_1alpha3:@"BEL" fips10_4:@"BE" dependencyOf:nil];
    [QECountry createCountryWithUid:25 name:@"Belize" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"084" iso3166_1alpha2:@"BZ" iso3166_1alpha3:@"BLZ" fips10_4:@"BH" dependencyOf:nil];
    [QECountry createCountryWithUid:26 name:@"Benin" longName:@"Republic of Benin" designation:qeKeyCountryDesigIndep iso3166_1num:@"204" iso3166_1alpha2:@"BJ" iso3166_1alpha3:@"BEN" fips10_4:@"BN" dependencyOf:nil];
    [QECountry createCountryWithUid:27 name:@"Bhutan" longName:@"Kingdom of Bhutan" designation:qeKeyCountryDesigIndep iso3166_1num:@"064" iso3166_1alpha2:@"BT" iso3166_1alpha3:@"BTN" fips10_4:@"BT" dependencyOf:nil];
    [QECountry createCountryWithUid:28 name:@"Bolivia" longName:@"Republic of Bolivia " designation:qeKeyCountryDesigIndep iso3166_1num:@"068" iso3166_1alpha2:@"BO" iso3166_1alpha3:@"BOL" fips10_4:@"BL" dependencyOf:nil];
    [QECountry createCountryWithUid:29 name:@"Bosnia and Herzegovina" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"070" iso3166_1alpha2:@"BA" iso3166_1alpha3:@"BIH" fips10_4:@"BK" dependencyOf:nil];
    [QECountry createCountryWithUid:30 name:@"Botswana" longName:@"Republic of Botswana" designation:qeKeyCountryDesigIndep iso3166_1num:@"072" iso3166_1alpha2:@"BW" iso3166_1alpha3:@"BWA" fips10_4:@"BC" dependencyOf:nil];
    [QECountry createCountryWithUid:31 name:@"Brazil" longName:@"Federative Republic of Brazil" designation:qeKeyCountryDesigIndep iso3166_1num:@"076" iso3166_1alpha2:@"BR" iso3166_1alpha3:@"BRA" fips10_4:@"BR" dependencyOf:nil];
    [QECountry createCountryWithUid:32 name:@"Brunei" longName:@"Brunei Darussalam" designation:qeKeyCountryDesigIndep iso3166_1num:@"096" iso3166_1alpha2:@"BN" iso3166_1alpha3:@"BRN" fips10_4:@"BX" dependencyOf:nil];
    [QECountry createCountryWithUid:33 name:@"Bulgaria" longName:@"Republic of Bulgaria" designation:qeKeyCountryDesigIndep iso3166_1num:@"100" iso3166_1alpha2:@"BG" iso3166_1alpha3:@"BGR" fips10_4:@"BU" dependencyOf:nil];
    [QECountry createCountryWithUid:34 name:@"Burkina Faso" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"854" iso3166_1alpha2:@"BF" iso3166_1alpha3:@"BFA" fips10_4:@"UV" dependencyOf:nil];
    [QECountry createCountryWithUid:35 name:@"Burma" longName:@"Union of Burma" designation:qeKeyCountryDesigIndep iso3166_1num:@"104" iso3166_1alpha2:@"MM" iso3166_1alpha3:@"MMR" fips10_4:@"BM" dependencyOf:nil];
    [QECountry createCountryWithUid:36 name:@"Burundi" longName:@"Republic of Burundi" designation:qeKeyCountryDesigIndep iso3166_1num:@"108" iso3166_1alpha2:@"BI" iso3166_1alpha3:@"BDI" fips10_4:@"BY" dependencyOf:nil];
    
#pragma mark COUNTRIES C
    [QECountry createCountryWithUid:37 name:@"Cambodia" longName:@"Kingdom of Cambodia" designation:qeKeyCountryDesigIndep iso3166_1num:@"116" iso3166_1alpha2:@"KH" iso3166_1alpha3:@"KHM" fips10_4:@"CB" dependencyOf:nil];
    [QECountry createCountryWithUid:38 name:@"Cameroon" longName:@"Republic of Cameroon" designation:qeKeyCountryDesigIndep iso3166_1num:@"120" iso3166_1alpha2:@"CM" iso3166_1alpha3:@"CMR" fips10_4:@"CM" dependencyOf:nil];
    [QECountry createCountryWithUid:39 name:@"Canada" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"124" iso3166_1alpha2:@"CA" iso3166_1alpha3:@"CAN" fips10_4:@"CA" dependencyOf:nil];
    [QECountry createCountryWithUid:40 name:@"Cape Verde" longName:@"Republic of Cape Verde" designation:qeKeyCountryDesigIndep iso3166_1num:@"132" iso3166_1alpha2:@"CV" iso3166_1alpha3:@"CPV" fips10_4:@"CV" dependencyOf:nil];
    [QECountry createCountryWithUid:41 name:@"Central African Republic" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"140" iso3166_1alpha2:@"CF" iso3166_1alpha3:@"CAF" fips10_4:@"CT" dependencyOf:nil];
    [QECountry createCountryWithUid:42 name:@"Chad" longName:@"Republic of Chad" designation:qeKeyCountryDesigIndep iso3166_1num:@"148" iso3166_1alpha2:@"TD" iso3166_1alpha3:@"TCD" fips10_4:@"CD" dependencyOf:nil];
    [QECountry createCountryWithUid:43 name:@"Chile" longName:@"Republic of Chile" designation:qeKeyCountryDesigIndep iso3166_1num:@"152" iso3166_1alpha2:@"CL" iso3166_1alpha3:@"CHL" fips10_4:@"CI" dependencyOf:nil];
    
#pragma mark China and Possessions
    tmp = [QECountry createCountryWithUid:44 name:@"China" longName:@"People's Republic of China" designation:qeKeyCountryDesigIndep iso3166_1num:@"156" iso3166_1alpha2:@"CN" iso3166_1alpha3:@"CHN" fips10_4:@"CH" dependencyOf:nil];
    [QECountry createCountryWithUid:45 name:@"Hong Kong" longName:@"Hong Kong Special Administrative Region" designation:qeKeyCountryDesigAdmin iso3166_1num:@"344" iso3166_1alpha2:@"HK" iso3166_1alpha3:@"HKG" fips10_4:@"HK" dependencyOf:tmp];
    [QECountry createCountryWithUid:46 name:@"Macau" longName:@"Macau Special Administrative Region" designation:qeKeyCountryDesigAdmin iso3166_1num:@"446" iso3166_1alpha2:@"MO" iso3166_1alpha3:@"MAC" fips10_4:@"MC" dependencyOf:tmp];
    
    [QECountry createCountryWithUid:47 name:@"Colombia" longName:@"Republic of Colombia" designation:qeKeyCountryDesigIndep iso3166_1num:@"170" iso3166_1alpha2:@"CO" iso3166_1alpha3:@"COL" fips10_4:@"CO" dependencyOf:nil];
    [QECountry createCountryWithUid:48 name:@"Comoros" longName:@"Union of the Comoros" designation:qeKeyCountryDesigIndep iso3166_1num:@"174" iso3166_1alpha2:@"KM" iso3166_1alpha3:@"COM" fips10_4:@"CN" dependencyOf:nil];
    [QECountry createCountryWithUid:49 name:nil longName:@"Congo, Democratic Republic of the" designation:qeKeyCountryDesigIndep iso3166_1num:@"180" iso3166_1alpha2:@"CD" iso3166_1alpha3:@"COD" fips10_4:@"CG" dependencyOf:nil];
    [QECountry createCountryWithUid:50 name:@"Congo" longName:@"Republic of the Congo" designation:qeKeyCountryDesigIndep iso3166_1num:@"178" iso3166_1alpha2:@"CG" iso3166_1alpha3:@"COG" fips10_4:@"CF" dependencyOf:nil];
    [QECountry createCountryWithUid:51 name:@"Cook Islands" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"184" iso3166_1alpha2:@"CK" iso3166_1alpha3:@"COK" fips10_4:@"CW" dependencyOf:nil];
    [QECountry createCountryWithUid:52 name:@"Costa Rica" longName:@"Republic of Costa Rica" designation:qeKeyCountryDesigIndep iso3166_1num:@"188" iso3166_1alpha2:@"CR" iso3166_1alpha3:@"CRI" fips10_4:@"CS" dependencyOf:nil];
    [QECountry createCountryWithUid:53 name:@"Cote d'Ivoire" longName:@"Republic of Cote d'Ivoire" designation:qeKeyCountryDesigIndep iso3166_1num:@"384" iso3166_1alpha2:@"CI" iso3166_1alpha3:@"CIV" fips10_4:@"IV" dependencyOf:nil];
    [QECountry createCountryWithUid:54 name:@"Croatia" longName:@"Republic of Croatia" designation:qeKeyCountryDesigIndep iso3166_1num:@"191" iso3166_1alpha2:@"HR" iso3166_1alpha3:@"HRV" fips10_4:@"HR" dependencyOf:nil];
    [QECountry createCountryWithUid:55 name:@"Cuba" longName:@"Republic of Cuba" designation:qeKeyCountryDesigIndep iso3166_1num:@"192" iso3166_1alpha2:@"CU" iso3166_1alpha3:@"CUB" fips10_4:@"CU" dependencyOf:nil];
    [QECountry createCountryWithUid:56 name:@"Cyprus" longName:@"Republic of Cyprus" designation:qeKeyCountryDesigIndep iso3166_1num:@"196" iso3166_1alpha2:@"CY" iso3166_1alpha3:@"CYP" fips10_4:@"CY" dependencyOf:nil];
    [QECountry createCountryWithUid:57 name:@"Czech Republic" longName:@"Czech Republic " designation:qeKeyCountryDesigIndep iso3166_1num:@"203" iso3166_1alpha2:@"CZ" iso3166_1alpha3:@"CZE" fips10_4:@"EZ" dependencyOf:nil];
    
#pragma mark COUNTRIES D
#pragma mark Denmark and Possessions
    tmp = [QECountry createCountryWithUid:58 name:@"Denmark" longName:@"Kingdom of Denmark" designation:qeKeyCountryDesigIndep iso3166_1num:@"208" iso3166_1alpha2:@"DK" iso3166_1alpha3:@"DNK" fips10_4:@"DA" dependencyOf:nil];
    [QECountry createCountryWithUid:59 name:@"Faroe Islands" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"234" iso3166_1alpha2:@"FO" iso3166_1alpha3:@"FRO" fips10_4:@"FO" dependencyOf:tmp];
    [QECountry createCountryWithUid:60 name:@"Greenland" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"304" iso3166_1alpha2:@"GL" iso3166_1alpha3:@"GRL" fips10_4:@"GL" dependencyOf:tmp];
    
    
    [QECountry createCountryWithUid:61 name:@"Djibouti" longName:@"Republic of Djibouti " designation:qeKeyCountryDesigIndep iso3166_1num:@"262" iso3166_1alpha2:@"DJ" iso3166_1alpha3:@"DJI" fips10_4:@"DJ" dependencyOf:nil];
    [QECountry createCountryWithUid:62 name:@"Dominica" longName:@"Commonwealth of Dominica" designation:qeKeyCountryDesigIndep iso3166_1num:@"212" iso3166_1alpha2:@"DM" iso3166_1alpha3:@"DMA" fips10_4:@"DO" dependencyOf:nil];
    [QECountry createCountryWithUid:63 name:@"Dominican Republic" longName:@"Dominican Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"214" iso3166_1alpha2:@"DO" iso3166_1alpha3:@"DOM" fips10_4:@"DR" dependencyOf:nil];
    
#pragma mark COUNTRIES E
    [QECountry createCountryWithUid:64 name:@"Ecuador" longName:@"Republic of Ecuador" designation:qeKeyCountryDesigIndep iso3166_1num:@"218" iso3166_1alpha2:@"EC" iso3166_1alpha3:@"ECU" fips10_4:@"EC" dependencyOf:nil];
    [QECountry createCountryWithUid:65 name:@"Egypt" longName:@"Arab Republic of Egypt" designation:qeKeyCountryDesigIndep iso3166_1num:@"818" iso3166_1alpha2:@"EG" iso3166_1alpha3:@"EGY" fips10_4:@"EG" dependencyOf:nil];
    [QECountry createCountryWithUid:66 name:@"El Salvador" longName:@"Republic of El Salvador" designation:qeKeyCountryDesigIndep iso3166_1num:@"222" iso3166_1alpha2:@"SV" iso3166_1alpha3:@"SLV" fips10_4:@"ES" dependencyOf:nil];
    [QECountry createCountryWithUid:67 name:@"Equatorial Guinea" longName:@"Republic of Equatorial Guinea" designation:qeKeyCountryDesigIndep iso3166_1num:@"226" iso3166_1alpha2:@"GQ" iso3166_1alpha3:@"GNQ" fips10_4:@"EK" dependencyOf:nil];
    [QECountry createCountryWithUid:68 name:@"Eritrea" longName:@"State of Eritrea" designation:qeKeyCountryDesigIndep iso3166_1num:@"232" iso3166_1alpha2:@"ER" iso3166_1alpha3:@"ERI" fips10_4:@"ER" dependencyOf:nil];
    [QECountry createCountryWithUid:69 name:@"Estonia" longName:@"Republic of Estonia" designation:qeKeyCountryDesigIndep iso3166_1num:@"233" iso3166_1alpha2:@"EE" iso3166_1alpha3:@"EST" fips10_4:@"EN" dependencyOf:nil];
    [QECountry createCountryWithUid:71 name:@"Ethiopia" longName:@"Federal Democratic Republic of Ethiopia" designation:qeKeyCountryDesigIndep iso3166_1num:@"231" iso3166_1alpha2:@"ET" iso3166_1alpha3:@"ETH" fips10_4:@"ET" dependencyOf:nil];
    
#pragma mark COUNTRIES F
    [QECountry createCountryWithUid:72 name:@"Fiji" longName:@"Republic of the Fiji Islands" designation:qeKeyCountryDesigIndep iso3166_1num:@"242" iso3166_1alpha2:@"FJ" iso3166_1alpha3:@"FJI" fips10_4:@"FJ" dependencyOf:nil];
    [QECountry createCountryWithUid:73 name:@"Finland" longName:@"Republic of Finland" designation:qeKeyCountryDesigIndep iso3166_1num:@"246" iso3166_1alpha2:@"FI" iso3166_1alpha3:@"FIN" fips10_4:@"FI" dependencyOf:nil];
    
#pragma mark France and Possessions
    tmp = [QECountry createCountryWithUid:74 name:@"France" longName:@"French Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"250" iso3166_1alpha2:@"FR" iso3166_1alpha3:@"FRA" fips10_4:@"FR" dependencyOf:nil];
    [QECountry createCountryWithUid:75 name:@"Clipperton Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"IP" dependencyOf:tmp];
    [QECountry createCountryWithUid:76 name:@"France, Metropolitan" longName:nil designation:qeKeyCountryDesigAdmin iso3166_1num:@"249" iso3166_1alpha2:@"FX" iso3166_1alpha3:@"FXX" fips10_4:nil dependencyOf:tmp];
    [QECountry createCountryWithUid:77 name:@"French Guiana" longName:nil designation:qeKeyCountryDesigAdmin iso3166_1num:@"254" iso3166_1alpha2:@"GF" iso3166_1alpha3:@"GUF" fips10_4:@"FG" dependencyOf:tmp];
    [QECountry createCountryWithUid:78 name:@"French Polynesia" longName:@"Overseas Lands of French Polynesia" designation:qeKeyCountryDesigAutReg iso3166_1num:@"258" iso3166_1alpha2:@"PF" iso3166_1alpha3:@"PYF" fips10_4:@"FP" dependencyOf:tmp];
    tmpSub = [QECountry createCountryWithUid:79 name:@"French Southern and Antarctic Lands" longName:@"Territory of the French Southern and Antarctic Lands" designation:qeKeyCountryDesigTerr iso3166_1num:@"260" iso3166_1alpha2:@"TF" iso3166_1alpha3:@"ATF" fips10_4:@"FS" dependencyOf:tmp];
    [QECountry createCountryWithUid:80 name:@"Bassas da India" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"BS" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:81 name:@"Europa Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"EU" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:82 name:@"Glorioso Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"GO" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:83 name:@"Juan de Nova Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"JU" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:84 name:@"Tromelin Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"TE" dependencyOf:tmpSub];
    // END FRENCH SOUTHERN AND ANTARCTIC LANDS
    [QECountry createCountryWithUid:85 name:@"Guadeloupe" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"312" iso3166_1alpha2:@"GP" iso3166_1alpha3:@"GLP" fips10_4:@"GP" dependencyOf:tmp];
    [QECountry createCountryWithUid:86 name:@"Martinique" longName:nil designation:qeKeyCountryDesigAdmin iso3166_1num:@"474" iso3166_1alpha2:@"MQ" iso3166_1alpha3:@"MTQ" fips10_4:@"MB" dependencyOf:tmp];
    [QECountry createCountryWithUid:87 name:@"Mayotte" longName:@"Territorial Collectivity of Mayotte" designation:qeKeyCountryDesigTerr iso3166_1num:@"175" iso3166_1alpha2:@"YT" iso3166_1alpha3:@"MYT" fips10_4:@"MF" dependencyOf:tmp];
    [QECountry createCountryWithUid:88 name:@"New Caledonia" longName:@"Territory of New Caledonia and Dependencies" designation:qeKeyCountryDesigTerr iso3166_1num:@"540" iso3166_1alpha2:@"NC" iso3166_1alpha3:@"NCL" fips10_4:@"NC" dependencyOf:tmp];
    [QECountry createCountryWithUid:89 name:@"Reunion" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"638" iso3166_1alpha2:@"RE" iso3166_1alpha3:@"REU" fips10_4:@"RE" dependencyOf:tmp];
    [QECountry createCountryWithUid:90 name:@"Saint Barthelemy" longName:@"Overseas Collectivity of Saint Barthelemy" designation:qeKeyCountryDesigTerr iso3166_1num:@"652" iso3166_1alpha2:@"BL" iso3166_1alpha3:@"BLM" fips10_4:@"TB" dependencyOf:tmp];
    [QECountry createCountryWithUid:91 name:@"Saint Martin" longName:@"Overseas Collectivity of Saint Martin" designation:qeKeyCountryDesigTerr iso3166_1num:@"663" iso3166_1alpha2:@"MF" iso3166_1alpha3:@"MAF" fips10_4:@"RN" dependencyOf:tmp];
    [QECountry createCountryWithUid:92 name:@"Wallis and Futuna" longName:@"Territory of the Wallis and Futuna Islands" designation:qeKeyCountryDesigTerr iso3166_1num:@"876" iso3166_1alpha2:@"WF" iso3166_1alpha3:@"WLF" fips10_4:@"WF" dependencyOf:tmp];
    
#pragma mark COUNTRIES G
    [QECountry createCountryWithUid:93 name:@"Gabon" longName:@"Gabonese Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"266" iso3166_1alpha2:@"GA" iso3166_1alpha3:@"GAB" fips10_4:@"GB" dependencyOf:nil];
    [QECountry createCountryWithUid:94 name:@"Gambia, The" longName:@"Republic of The Gambia" designation:qeKeyCountryDesigIndep iso3166_1num:@"270" iso3166_1alpha2:@"GM" iso3166_1alpha3:@"GMB" fips10_4:@"GA" dependencyOf:nil];
    [QECountry createCountryWithUid:95 name:@"Georgia" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"268" iso3166_1alpha2:@"GE" iso3166_1alpha3:@"GEO" fips10_4:@"GG" dependencyOf:nil];
    [QECountry createCountryWithUid:96 name:@"Germany" longName:@"Federal Republic of Germany" designation:qeKeyCountryDesigIndep iso3166_1num:@"276" iso3166_1alpha2:@"DE" iso3166_1alpha3:@"DEU" fips10_4:@"GM" dependencyOf:nil];
    [QECountry createCountryWithUid:97 name:@"Ghana" longName:@"Republic of Ghana" designation:qeKeyCountryDesigIndep iso3166_1num:@"288" iso3166_1alpha2:@"GH" iso3166_1alpha3:@"GHA" fips10_4:@"GH" dependencyOf:nil];
    [QECountry createCountryWithUid:98 name:@"Greece" longName:@"Hellenic Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"300" iso3166_1alpha2:@"GR" iso3166_1alpha3:@"GRC" fips10_4:@"GR" dependencyOf:nil];
    [QECountry createCountryWithUid:99 name:@"Grenada" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"308" iso3166_1alpha2:@"GD" iso3166_1alpha3:@"GRD" fips10_4:@"GJ" dependencyOf:nil];
    [QECountry createCountryWithUid:100 name:@"Guatemala" longName:@"Republic of Guatemala" designation:qeKeyCountryDesigIndep iso3166_1num:@"320" iso3166_1alpha2:@"GT" iso3166_1alpha3:@"GTM" fips10_4:@"GT" dependencyOf:nil];
    [QECountry createCountryWithUid:101 name:@"Guinea" longName:@"Republic of Guinea" designation:qeKeyCountryDesigIndep iso3166_1num:@"324" iso3166_1alpha2:@"GN" iso3166_1alpha3:@"GIN" fips10_4:@"GV" dependencyOf:nil];
    [QECountry createCountryWithUid:102 name:@"Guinea-Bissau" longName:@"Republic of Guinea-Bissau" designation:qeKeyCountryDesigIndep iso3166_1num:@"624" iso3166_1alpha2:@"GW" iso3166_1alpha3:@"GNB" fips10_4:@"PU" dependencyOf:nil];
    [QECountry createCountryWithUid:103 name:@"Guyana" longName:@"Cooperative Republic of Guyana" designation:qeKeyCountryDesigIndep iso3166_1num:@"328" iso3166_1alpha2:@"GY" iso3166_1alpha3:@"GUY" fips10_4:@"GY" dependencyOf:nil];
    
#pragma mark COUNTRIES H
    [QECountry createCountryWithUid:104 name:@"Haiti" longName:@"Republic of Haiti" designation:qeKeyCountryDesigIndep iso3166_1num:@"332" iso3166_1alpha2:@"HT" iso3166_1alpha3:@"HTI" fips10_4:@"HA" dependencyOf:nil];
    [QECountry createCountryWithUid:105 name:@"Holy See (Vatican City)" longName:@"The Holy See (State of the Vatican City)" designation:qeKeyCountryDesigIndep iso3166_1num:@"336" iso3166_1alpha2:@"VA" iso3166_1alpha3:@"VAT" fips10_4:@"VT" dependencyOf:nil];
    [QECountry createCountryWithUid:106 name:@"Honduras" longName:@"Republic of Honduras" designation:qeKeyCountryDesigIndep iso3166_1num:@"340" iso3166_1alpha2:@"HN" iso3166_1alpha3:@"HND" fips10_4:@"HO" dependencyOf:nil];
    [QECountry createCountryWithUid:107 name:@"Hungary" longName:@"Republic of Hungary" designation:qeKeyCountryDesigIndep iso3166_1num:@"348" iso3166_1alpha2:@"HU" iso3166_1alpha3:@"HUN" fips10_4:@"HU" dependencyOf:nil];
    
#pragma mark COUNTRIES I
    [QECountry createCountryWithUid:108 name:@"Iceland" longName:@"Republic of Iceland" designation:qeKeyCountryDesigIndep iso3166_1num:@"352" iso3166_1alpha2:@"IS" iso3166_1alpha3:@"ISL" fips10_4:@"IC" dependencyOf:nil];
    [QECountry createCountryWithUid:109 name:@"India" longName:@"Republic of India" designation:qeKeyCountryDesigIndep iso3166_1num:@"356" iso3166_1alpha2:@"IN" iso3166_1alpha3:@"IND" fips10_4:@"IN" dependencyOf:nil];
    [QECountry createCountryWithUid:110 name:@"Indonesia" longName:@"Republic of Indonesia" designation:qeKeyCountryDesigIndep iso3166_1num:@"360" iso3166_1alpha2:@"ID" iso3166_1alpha3:@"IDN" fips10_4:@"ID" dependencyOf:nil];
    [QECountry createCountryWithUid:111 name:@"Iran" longName:@"Islamic Republic of Iran" designation:qeKeyCountryDesigIndep iso3166_1num:@"364" iso3166_1alpha2:@"IR" iso3166_1alpha3:@"IRN" fips10_4:@"IR" dependencyOf:nil];
    [QECountry createCountryWithUid:112 name:@"Iraq" longName:@"Republic of Iraq" designation:qeKeyCountryDesigIndep iso3166_1num:@"368" iso3166_1alpha2:@"IQ" iso3166_1alpha3:@"IRQ" fips10_4:@"IZ" dependencyOf:nil];
    [QECountry createCountryWithUid:113 name:@"Ireland" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"372" iso3166_1alpha2:@"IE" iso3166_1alpha3:@"IRL" fips10_4:@"EI" dependencyOf:nil];
    
#pragma mark Israel and Possessions
    tmp = [QECountry createCountryWithUid:114 name:@"Israel" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"376" iso3166_1alpha2:@"IL" iso3166_1alpha3:@"ISR" fips10_4:@"IS" dependencyOf:nil];
    [QECountry createCountryWithUid:115 name:@"Gaza Strip" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"275" iso3166_1alpha2:@"PS" iso3166_1alpha3:@"PSE" fips10_4:@"GZ" dependencyOf:tmp];
    [QECountry createCountryWithUid:116 name:@"West Bank" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"275" iso3166_1alpha2:@"PS" iso3166_1alpha3:@"PSE" fips10_4:@"WE" dependencyOf:tmp];
    
    [QECountry createCountryWithUid:117 name:@"Italy" longName:@"Italian Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"380" iso3166_1alpha2:@"IT" iso3166_1alpha3:@"ITA" fips10_4:@"IT" dependencyOf:nil];
    
#pragma mark COUNTRIES J
    [QECountry createCountryWithUid:118 name:@"Jamaica" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"388" iso3166_1alpha2:@"JM" iso3166_1alpha3:@"JAM" fips10_4:@"JM" dependencyOf:nil];
    [QECountry createCountryWithUid:119 name:@"Japan" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"392" iso3166_1alpha2:@"JP" iso3166_1alpha3:@"JPN" fips10_4:@"JA" dependencyOf:nil];
    [QECountry createCountryWithUid:120 name:@"Jordan" longName:@"Hashemite Kingdom of Jordan" designation:qeKeyCountryDesigIndep iso3166_1num:@"400" iso3166_1alpha2:@"JO" iso3166_1alpha3:@"JOR" fips10_4:@"JO" dependencyOf:nil];
    
#pragma mark COUNTRIES K
    [QECountry createCountryWithUid:121 name:@"Kazakhstan" longName:@"Republic of Kazakhstan" designation:qeKeyCountryDesigIndep iso3166_1num:@"398" iso3166_1alpha2:@"KZ" iso3166_1alpha3:@"KAZ" fips10_4:@"KZ" dependencyOf:nil];
    [QECountry createCountryWithUid:122 name:@"Kenya" longName:@"Republic of Kenya" designation:qeKeyCountryDesigIndep iso3166_1num:@"404" iso3166_1alpha2:@"KE" iso3166_1alpha3:@"KEN" fips10_4:@"KE" dependencyOf:nil];
    [QECountry createCountryWithUid:123 name:@"Kiribati" longName:@"Republic of Kiribati" designation:qeKeyCountryDesigIndep iso3166_1num:@"296" iso3166_1alpha2:@"KI" iso3166_1alpha3:@"KIR" fips10_4:@"KR" dependencyOf:nil];
    [QECountry createCountryWithUid:124 name:@"Korea, North" longName:@"Democratic People's Republic of Korea" designation:qeKeyCountryDesigIndep iso3166_1num:@"408" iso3166_1alpha2:@"KP" iso3166_1alpha3:@"PRK" fips10_4:@"KN" dependencyOf:nil];
    [QECountry createCountryWithUid:125 name:@"Korea, South" longName:@"Republic of Korea" designation:qeKeyCountryDesigIndep iso3166_1num:@"410" iso3166_1alpha2:@"KR" iso3166_1alpha3:@"KOR" fips10_4:@"KS" dependencyOf:nil];
    [QECountry createCountryWithUid:126 name:@"Kosovo" longName:@"Republic of Kosovo" designation:qeKeyCountryDesigIndep iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"KV" dependencyOf:nil];
    [QECountry createCountryWithUid:127 name:@"Kuwait" longName:@"State of Kuwait" designation:qeKeyCountryDesigIndep iso3166_1num:@"414" iso3166_1alpha2:@"KW" iso3166_1alpha3:@"KWT" fips10_4:@"KU" dependencyOf:nil];
    [QECountry createCountryWithUid:128 name:@"Kyrgyzstan" longName:@"Kyrgyz Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"417" iso3166_1alpha2:@"KG" iso3166_1alpha3:@"KGZ" fips10_4:@"KG" dependencyOf:nil];
    
#pragma mark COUNTRIES L
    [QECountry createCountryWithUid:129 name:@"Laos" longName:@"Lao People's Democratic Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"418" iso3166_1alpha2:@"LA" iso3166_1alpha3:@"LAO" fips10_4:@"LA" dependencyOf:nil];
    [QECountry createCountryWithUid:130 name:@"Latvia" longName:@"Republic of Latvia" designation:qeKeyCountryDesigIndep iso3166_1num:@"428" iso3166_1alpha2:@"LV" iso3166_1alpha3:@"LVA" fips10_4:@"LG" dependencyOf:nil];
    [QECountry createCountryWithUid:131 name:@"Lebanon" longName:@"Lebanese Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"422" iso3166_1alpha2:@"LB" iso3166_1alpha3:@"LBN" fips10_4:@"LE" dependencyOf:nil];
    [QECountry createCountryWithUid:132 name:@"Lesotho" longName:@"Kingdom of Lesotho" designation:qeKeyCountryDesigIndep iso3166_1num:@"426" iso3166_1alpha2:@"LS" iso3166_1alpha3:@"LSO" fips10_4:@"LT" dependencyOf:nil];
    [QECountry createCountryWithUid:133 name:@"Liberia" longName:@"Republic of Liberia" designation:qeKeyCountryDesigIndep iso3166_1num:@"430" iso3166_1alpha2:@"LR" iso3166_1alpha3:@"LBR" fips10_4:@"LI" dependencyOf:nil];
    [QECountry createCountryWithUid:134 name:@"Libya" longName:@"Great Socialist People's Libyan Arab Jamahiriya" designation:qeKeyCountryDesigIndep iso3166_1num:@"434" iso3166_1alpha2:@"LY" iso3166_1alpha3:@"LBY" fips10_4:@"LY" dependencyOf:nil];
    [QECountry createCountryWithUid:135 name:@"Liechtenstein" longName:@"Principality of Liechtenstein" designation:qeKeyCountryDesigIndep iso3166_1num:@"438" iso3166_1alpha2:@"LI" iso3166_1alpha3:@"LIE" fips10_4:@"LS" dependencyOf:nil];
    [QECountry createCountryWithUid:136 name:@"Lithuania" longName:@"Republic of Lithuania" designation:qeKeyCountryDesigIndep iso3166_1num:@"440" iso3166_1alpha2:@"LT" iso3166_1alpha3:@"LTU" fips10_4:@"LH" dependencyOf:nil];
    [QECountry createCountryWithUid:137 name:@"Luxembourg" longName:@"Grand Duchy of Luxembourg" designation:qeKeyCountryDesigIndep iso3166_1num:@"442" iso3166_1alpha2:@"LU" iso3166_1alpha3:@"LUX" fips10_4:@"LU" dependencyOf:nil];
    
#pragma mark COUNTRIES M
    [QECountry createCountryWithUid:138 name:@"Macedonia" longName:@"Republic of Macedonia" designation:qeKeyCountryDesigIndep iso3166_1num:@"807" iso3166_1alpha2:@"MK" iso3166_1alpha3:@"MKD" fips10_4:@"MK" dependencyOf:nil];
    [QECountry createCountryWithUid:139 name:@"Madagascar" longName:@"Republic of Madagascar" designation:qeKeyCountryDesigIndep iso3166_1num:@"450" iso3166_1alpha2:@"MG" iso3166_1alpha3:@"MDG" fips10_4:@"MA" dependencyOf:nil];
    [QECountry createCountryWithUid:140 name:@"Malawi" longName:@"Republic of Malawi" designation:qeKeyCountryDesigIndep iso3166_1num:@"454" iso3166_1alpha2:@"MW" iso3166_1alpha3:@"MWI" fips10_4:@"MI" dependencyOf:nil];
    [QECountry createCountryWithUid:141 name:@"Malaysia" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"458" iso3166_1alpha2:@"MY" iso3166_1alpha3:@"MYS" fips10_4:@"MY" dependencyOf:nil];
    [QECountry createCountryWithUid:142 name:@"Maldives" longName:@"Republic of Maldives" designation:qeKeyCountryDesigIndep iso3166_1num:@"462" iso3166_1alpha2:@"MV" iso3166_1alpha3:@"MDV" fips10_4:@"MV" dependencyOf:nil];
    [QECountry createCountryWithUid:143 name:@"Mali" longName:@"Republic of Mali" designation:qeKeyCountryDesigIndep iso3166_1num:@"466" iso3166_1alpha2:@"ML" iso3166_1alpha3:@"MLI" fips10_4:@"ML" dependencyOf:nil];
    [QECountry createCountryWithUid:144 name:@"Malta" longName:@"Republic of Malta" designation:qeKeyCountryDesigIndep iso3166_1num:@"470" iso3166_1alpha2:@"MT" iso3166_1alpha3:@"MLT" fips10_4:@"MT" dependencyOf:nil];
    [QECountry createCountryWithUid:145 name:@"Marshall Islands" longName:@"Republic of the Marshall Islands" designation:qeKeyCountryDesigIndep iso3166_1num:@"584" iso3166_1alpha2:@"MH" iso3166_1alpha3:@"MHL" fips10_4:@"RM" dependencyOf:nil];
    [QECountry createCountryWithUid:146 name:@"Mauritania" longName:@"Islamic Republic of Mauritania" designation:qeKeyCountryDesigIndep iso3166_1num:@"478" iso3166_1alpha2:@"MR" iso3166_1alpha3:@"MRT" fips10_4:@"MR" dependencyOf:nil];
    [QECountry createCountryWithUid:147 name:@"Mauritius" longName:@"Republic of Mauritius" designation:qeKeyCountryDesigIndep iso3166_1num:@"480" iso3166_1alpha2:@"MU" iso3166_1alpha3:@"MUS" fips10_4:@"MP" dependencyOf:nil];
    [QECountry createCountryWithUid:148 name:@"Mexico" longName:@"United Mexican States" designation:qeKeyCountryDesigIndep iso3166_1num:@"484" iso3166_1alpha2:@"MX" iso3166_1alpha3:@"MEX" fips10_4:@"MX" dependencyOf:nil];
    [QECountry createCountryWithUid:149 name:@"Micronesia, Federated States of" longName:@"Federated States of Micronesia" designation:qeKeyCountryDesigIndep iso3166_1num:@"583" iso3166_1alpha2:@"FM" iso3166_1alpha3:@"FSM" fips10_4:@"FM" dependencyOf:nil];
    [QECountry createCountryWithUid:150 name:@"Moldova" longName:@"Republic of Moldova" designation:qeKeyCountryDesigIndep iso3166_1num:@"498" iso3166_1alpha2:@"MD" iso3166_1alpha3:@"MDA" fips10_4:@"MD" dependencyOf:nil];
    [QECountry createCountryWithUid:151 name:@"Monaco" longName:@"Principality of Monaco" designation:qeKeyCountryDesigIndep iso3166_1num:@"492" iso3166_1alpha2:@"MC" iso3166_1alpha3:@"MCO" fips10_4:@"MN" dependencyOf:nil];
    [QECountry createCountryWithUid:152 name:@"Mongolia" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"496" iso3166_1alpha2:@"MN" iso3166_1alpha3:@"MNG" fips10_4:@"MG" dependencyOf:nil];
    [QECountry createCountryWithUid:153 name:@"Montenegro" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"499" iso3166_1alpha2:@"ME" iso3166_1alpha3:@"MNE" fips10_4:@"MJ" dependencyOf:nil];
    [QECountry createCountryWithUid:154 name:@"Morocco" longName:@"Kingdom of Morocco" designation:qeKeyCountryDesigIndep iso3166_1num:@"504" iso3166_1alpha2:@"MA" iso3166_1alpha3:@"MAR" fips10_4:@"MO" dependencyOf:nil];
    [QECountry createCountryWithUid:155 name:@"Mozambique" longName:@"Republic of Mozambique" designation:qeKeyCountryDesigIndep iso3166_1num:@"508" iso3166_1alpha2:@"MZ" iso3166_1alpha3:@"MOZ" fips10_4:@"MZ" dependencyOf:nil];
    
#pragma mark COUNTRIES N
    [QECountry createCountryWithUid:156 name:@"Namibia" longName:@"Republic of Namibia" designation:qeKeyCountryDesigIndep iso3166_1num:@"516" iso3166_1alpha2:@"NA" iso3166_1alpha3:@"NAM" fips10_4:@"WA" dependencyOf:nil];
    [QECountry createCountryWithUid:157 name:@"Nauru" longName:@"Republic of Nauru" designation:qeKeyCountryDesigIndep iso3166_1num:@"520" iso3166_1alpha2:@"NR" iso3166_1alpha3:@"NRU" fips10_4:@"NR" dependencyOf:nil];
    [QECountry createCountryWithUid:158 name:@"Nepal" longName:@"Federal Democratic Republic of Nepal" designation:qeKeyCountryDesigIndep iso3166_1num:@"524" iso3166_1alpha2:@"NP" iso3166_1alpha3:@"NPL" fips10_4:@"NP" dependencyOf:nil];
    
#pragma mark Netherlands and Possessions
    tmp = [QECountry createCountryWithUid:159 name:@"Netherlands" longName:@"Kingdom of the Netherlands" designation:qeKeyCountryDesigIndep iso3166_1num:@"528" iso3166_1alpha2:@"NL" iso3166_1alpha3:@"NLD" fips10_4:@"NL" dependencyOf:nil];
    [QECountry createCountryWithUid:160 name:@"Aruba" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"533" iso3166_1alpha2:@"AW" iso3166_1alpha3:@"ABW" fips10_4:@"AA" dependencyOf:tmp];
    [QECountry createCountryWithUid:161 name:@"Netherlands Antilles" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"530" iso3166_1alpha2:@"AN" iso3166_1alpha3:@"ANT" fips10_4:@"NT" dependencyOf:tmp];
    
    tmp = [QECountry createCountryWithUid:162 name:@"New Zealand" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"554" iso3166_1alpha2:@"NZ" iso3166_1alpha3:@"NZL" fips10_4:@"NZ" dependencyOf:nil];
    [QECountry createCountryWithUid:163 name:@"Tokelau" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"772" iso3166_1alpha2:@"TK" iso3166_1alpha3:@"TKL" fips10_4:@"TL" dependencyOf:tmp];
    
    [QECountry createCountryWithUid:164 name:@"Nicaragua" longName:@"Republic of Nicaragua" designation:qeKeyCountryDesigIndep iso3166_1num:@"558" iso3166_1alpha2:@"NI" iso3166_1alpha3:@"NIC" fips10_4:@"NU" dependencyOf:nil];
    [QECountry createCountryWithUid:165 name:@"Niger" longName:@"Republic of Niger" designation:qeKeyCountryDesigIndep iso3166_1num:@"562" iso3166_1alpha2:@"NE" iso3166_1alpha3:@"NER" fips10_4:@"NG" dependencyOf:nil];
    [QECountry createCountryWithUid:166 name:@"Nigeria" longName:@"Federal Republic of Nigeria" designation:qeKeyCountryDesigIndep iso3166_1num:@"566" iso3166_1alpha2:@"NG" iso3166_1alpha3:@"NGA" fips10_4:@"NI" dependencyOf:nil];
    [QECountry createCountryWithUid:167 name:@"Niue" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"570" iso3166_1alpha2:@"NU" iso3166_1alpha3:@"NIU" fips10_4:@"NE" dependencyOf:nil];
    
#pragma mark Norway and Possessions
    tmp = [QECountry createCountryWithUid:168 name:@"Norway" longName:@"Kingdom of Norway" designation:qeKeyCountryDesigIndep iso3166_1num:@"578" iso3166_1alpha2:@"NO" iso3166_1alpha3:@"NOR" fips10_4:@"NO" dependencyOf:nil];
    [QECountry createCountryWithUid:169 name:@"Bouvet Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"074" iso3166_1alpha2:@"BV" iso3166_1alpha3:@"BVT" fips10_4:@"BV" dependencyOf:tmp];
    [QECountry createCountryWithUid:170 name:@"Jan Mayen" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"JN" dependencyOf:tmp];
    [QECountry createCountryWithUid:171 name:@"Svalbard" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"744" iso3166_1alpha2:@"SJ" iso3166_1alpha3:@"SJM" fips10_4:@"SV" dependencyOf:tmp];
    
#pragma mark COUNTRIES O
    [QECountry createCountryWithUid:172 name:@"Oman" longName:@"Sultanate of Oman" designation:qeKeyCountryDesigIndep iso3166_1num:@"512" iso3166_1alpha2:@"OM" iso3166_1alpha3:@"OMN" fips10_4:@"MU" dependencyOf:nil];
    
#pragma mark COUNTRIES P
    [QECountry createCountryWithUid:173 name:@"Pakistan" longName:@"Islamic Republic of Pakistan" designation:qeKeyCountryDesigIndep iso3166_1num:@"586" iso3166_1alpha2:@"PK" iso3166_1alpha3:@"PAK" fips10_4:@"PK" dependencyOf:nil];
    [QECountry createCountryWithUid:174 name:@"Palau" longName:@"Republic of Palau" designation:qeKeyCountryDesigIndep iso3166_1num:@"585" iso3166_1alpha2:@"PW" iso3166_1alpha3:@"PLW" fips10_4:@"PS" dependencyOf:nil];
    [QECountry createCountryWithUid:175 name:@"Panama" longName:@"Republic of Panama" designation:qeKeyCountryDesigIndep iso3166_1num:@"591" iso3166_1alpha2:@"PA" iso3166_1alpha3:@"PAN" fips10_4:@"PM" dependencyOf:nil];
    [QECountry createCountryWithUid:176 name:@"Papua New Guinea" longName:@"Independent State of Papua New Guinea" designation:qeKeyCountryDesigIndep iso3166_1num:@"598" iso3166_1alpha2:@"PG" iso3166_1alpha3:@"PNG" fips10_4:@"PP" dependencyOf:nil];
    [QECountry createCountryWithUid:177 name:@"Paracel Islands" longName:nil designation:qeKeyCountryDesigContest iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"PF" dependencyOf:nil];
    [QECountry createCountryWithUid:178 name:@"Paraguay" longName:@"Republic of Paraguay" designation:qeKeyCountryDesigIndep iso3166_1num:@"600" iso3166_1alpha2:@"PY" iso3166_1alpha3:@"PRY" fips10_4:@"PA" dependencyOf:nil];
    [QECountry createCountryWithUid:179 name:@"Peru" longName:@"Republic of Peru" designation:qeKeyCountryDesigIndep iso3166_1num:@"604" iso3166_1alpha2:@"PE" iso3166_1alpha3:@"PER" fips10_4:@"PE" dependencyOf:nil];
    [QECountry createCountryWithUid:180 name:@"Philippines" longName:@"Republic of the Philippines" designation:qeKeyCountryDesigIndep iso3166_1num:@"608" iso3166_1alpha2:@"PH" iso3166_1alpha3:@"PHL" fips10_4:@"RP" dependencyOf:nil];
    [QECountry createCountryWithUid:181 name:@"Poland" longName:@"Republic of Poland" designation:qeKeyCountryDesigIndep iso3166_1num:@"616" iso3166_1alpha2:@"PL" iso3166_1alpha3:@"POL" fips10_4:@"PL" dependencyOf:nil];
    [QECountry createCountryWithUid:182 name:@"Portugal" longName:@"Portuguese Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"620" iso3166_1alpha2:@"PT" iso3166_1alpha3:@"PRT" fips10_4:@"PO" dependencyOf:nil];
    
#pragma mark COUNTRIES Q
    [QECountry createCountryWithUid:183 name:@"Qatar" longName:@"State of Qatar" designation:qeKeyCountryDesigIndep iso3166_1num:@"634" iso3166_1alpha2:@"QA" iso3166_1alpha3:@"QAT" fips10_4:@"QA" dependencyOf:nil];
    
#pragma mark COUNTRIES R
    [QECountry createCountryWithUid:184 name:@"Romania" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"642" iso3166_1alpha2:@"RO" iso3166_1alpha3:@"ROU" fips10_4:@"RO" dependencyOf:nil];
    [QECountry createCountryWithUid:185 name:@"Russia" longName:@"Russian Federation" designation:qeKeyCountryDesigIndep iso3166_1num:@"643" iso3166_1alpha2:@"RU" iso3166_1alpha3:@"RUS" fips10_4:@"RS" dependencyOf:nil];
    [QECountry createCountryWithUid:186 name:@"Rwanda" longName:@"Republic of Rwanda" designation:qeKeyCountryDesigIndep iso3166_1num:@"646" iso3166_1alpha2:@"RW" iso3166_1alpha3:@"RWA" fips10_4:@"RW" dependencyOf:nil];
    
#pragma mark COUNTRIES S
    [QECountry createCountryWithUid:187 name:@"Saint Kitts and Nevis" longName:@"Federation of Saint Kitts and Nevis" designation:qeKeyCountryDesigIndep iso3166_1num:@"659" iso3166_1alpha2:@"KN" iso3166_1alpha3:@"KNA" fips10_4:@"SC" dependencyOf:nil];
    [QECountry createCountryWithUid:188 name:@"Saint Lucia" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"662" iso3166_1alpha2:@"LC" iso3166_1alpha3:@"LCA" fips10_4:@"ST" dependencyOf:nil];
    [QECountry createCountryWithUid:189 name:@"Saint Pierre and Miquelon" longName:@"Territorial Collectivity of Saint Pierre and Miquelon" designation:qeKeyCountryDesigTerr iso3166_1num:@"666" iso3166_1alpha2:@"PM" iso3166_1alpha3:@"SPM" fips10_4:@"SB" dependencyOf:tmp];
    [QECountry createCountryWithUid:190 name:@"Saint Vincent and the Grenadines" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"670" iso3166_1alpha2:@"VC" iso3166_1alpha3:@"VCT" fips10_4:@"VC" dependencyOf:nil];
    [QECountry createCountryWithUid:191 name:@"Samoa" longName:@"Independent State of Samoa" designation:qeKeyCountryDesigIndep iso3166_1num:@"882" iso3166_1alpha2:@"WS" iso3166_1alpha3:@"WSM" fips10_4:@"WS" dependencyOf:nil];
    [QECountry createCountryWithUid:192 name:@"San Marino" longName:@"Republic of San Marino" designation:qeKeyCountryDesigIndep iso3166_1num:@"674" iso3166_1alpha2:@"SM" iso3166_1alpha3:@"SMR" fips10_4:@"SM" dependencyOf:nil];
    [QECountry createCountryWithUid:193 name:@"Sao Tome and Principe" longName:@"Democratic Republic of Sao Tome and Principe" designation:qeKeyCountryDesigIndep iso3166_1num:@"678" iso3166_1alpha2:@"ST" iso3166_1alpha3:@"STP" fips10_4:@"TP" dependencyOf:nil];
    [QECountry createCountryWithUid:194 name:@"Saudi Arabia" longName:@"Kingdom of Saudi Arabia" designation:qeKeyCountryDesigIndep iso3166_1num:@"682" iso3166_1alpha2:@"SA" iso3166_1alpha3:@"SAU" fips10_4:@"SA" dependencyOf:nil];
    [QECountry createCountryWithUid:195 name:@"Senegal" longName:@"Republic of Senegal" designation:qeKeyCountryDesigIndep iso3166_1num:@"686" iso3166_1alpha2:@"SN" iso3166_1alpha3:@"SEN" fips10_4:@"SG" dependencyOf:nil];
    [QECountry createCountryWithUid:196 name:@"Serbia" longName:@"Republic of Serbia" designation:qeKeyCountryDesigIndep iso3166_1num:@"688" iso3166_1alpha2:@"RS" iso3166_1alpha3:@"SRB" fips10_4:@"RI" dependencyOf:nil];
    [QECountry createCountryWithUid:197 name:@"Seychelles" longName:@"Republic of Seychelles" designation:qeKeyCountryDesigIndep iso3166_1num:@"690" iso3166_1alpha2:@"SC" iso3166_1alpha3:@"SYC" fips10_4:@"SE" dependencyOf:nil];
    [QECountry createCountryWithUid:198 name:@"Sierra Leone" longName:@"Republic of Sierra Leone" designation:qeKeyCountryDesigIndep iso3166_1num:@"694" iso3166_1alpha2:@"SL" iso3166_1alpha3:@"SLE" fips10_4:@"SL" dependencyOf:nil];
    [QECountry createCountryWithUid:199 name:@"Singapore" longName:@"Republic of Singapore" designation:qeKeyCountryDesigIndep iso3166_1num:@"702" iso3166_1alpha2:@"SG" iso3166_1alpha3:@"SGP" fips10_4:@"SN" dependencyOf:nil];
    [QECountry createCountryWithUid:200 name:@"Slovakia" longName:@"Slovak Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"703" iso3166_1alpha2:@"SK" iso3166_1alpha3:@"SVK" fips10_4:@"LO" dependencyOf:nil];
    [QECountry createCountryWithUid:201 name:@"Slovenia" longName:@"Republic of Slovenia" designation:qeKeyCountryDesigIndep iso3166_1num:@"705" iso3166_1alpha2:@"SI" iso3166_1alpha3:@"SVN" fips10_4:@"SI" dependencyOf:nil];
    [QECountry createCountryWithUid:202 name:@"Solomon Islands" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"090" iso3166_1alpha2:@"SB" iso3166_1alpha3:@"SLB" fips10_4:@"BP" dependencyOf:nil];
    [QECountry createCountryWithUid:203 name:@"Somalia" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"706" iso3166_1alpha2:@"SO" iso3166_1alpha3:@"SOM" fips10_4:@"SO" dependencyOf:nil];
    [QECountry createCountryWithUid:204 name:@"South Africa" longName:@"Republic of South Africa" designation:qeKeyCountryDesigIndep iso3166_1num:@"710" iso3166_1alpha2:@"ZA" iso3166_1alpha3:@"ZAF" fips10_4:@"SF" dependencyOf:nil];
    [QECountry createCountryWithUid:205 name:@"Spain" longName:@"Kingdom of Spain" designation:qeKeyCountryDesigIndep iso3166_1num:@"724" iso3166_1alpha2:@"ES" iso3166_1alpha3:@"ESP" fips10_4:@"SP" dependencyOf:nil];
    [QECountry createCountryWithUid:206 name:@"Spratly Islands" longName:nil designation:qeKeyCountryDesigContest iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"PG" dependencyOf:nil];
    [QECountry createCountryWithUid:207 name:@"Sri Lanka" longName:@"Democratic Socialist Republic of Sri Lanka" designation:qeKeyCountryDesigIndep iso3166_1num:@"144" iso3166_1alpha2:@"LK" iso3166_1alpha3:@"LKA" fips10_4:@"CE" dependencyOf:nil];
    [QECountry createCountryWithUid:208 name:@"Sudan" longName:@"Republic of the Sudan" designation:qeKeyCountryDesigIndep iso3166_1num:@"736" iso3166_1alpha2:@"SD" iso3166_1alpha3:@"SDN" fips10_4:@"SU" dependencyOf:nil];
    [QECountry createCountryWithUid:209 name:@"Suriname" longName:@"Republic of Suriname" designation:qeKeyCountryDesigIndep iso3166_1num:@"740" iso3166_1alpha2:@"SR" iso3166_1alpha3:@"SUR" fips10_4:@"NS" dependencyOf:nil];
    [QECountry createCountryWithUid:210 name:@"Swaziland" longName:@"Kingdom of Swaziland" designation:qeKeyCountryDesigIndep iso3166_1num:@"748" iso3166_1alpha2:@"SZ" iso3166_1alpha3:@"SWZ" fips10_4:@"WZ" dependencyOf:nil];
    [QECountry createCountryWithUid:211 name:@"Sweden" longName:@"Kingdom of Sweden" designation:qeKeyCountryDesigIndep iso3166_1num:@"752" iso3166_1alpha2:@"SE" iso3166_1alpha3:@"SWE" fips10_4:@"SW" dependencyOf:nil];
    [QECountry createCountryWithUid:212 name:@"Switzerland" longName:@"Swiss Confederation" designation:qeKeyCountryDesigIndep iso3166_1num:@"756" iso3166_1alpha2:@"CH" iso3166_1alpha3:@"CHE" fips10_4:@"SZ" dependencyOf:nil];
    [QECountry createCountryWithUid:213 name:@"Syria" longName:@"Syrian Arab Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"760" iso3166_1alpha2:@"SY" iso3166_1alpha3:@"SYR" fips10_4:@"SY" dependencyOf:nil];
    
#pragma mark COUNTRIES T
    [QECountry createCountryWithUid:214 name:@"Taiwan" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"158" iso3166_1alpha2:@"TW" iso3166_1alpha3:@"TWN" fips10_4:@"TW" dependencyOf:nil];
    [QECountry createCountryWithUid:215 name:@"Tajikistan" longName:@"Republic of Tajikistan" designation:qeKeyCountryDesigIndep iso3166_1num:@"762" iso3166_1alpha2:@"TJ" iso3166_1alpha3:@"TJK" fips10_4:@"TI" dependencyOf:nil];
    [QECountry createCountryWithUid:216 name:@"Tanzania" longName:@"United Republic of Tanzania" designation:qeKeyCountryDesigIndep iso3166_1num:@"834" iso3166_1alpha2:@"TZ" iso3166_1alpha3:@"TZA" fips10_4:@"TZ" dependencyOf:nil];
    [QECountry createCountryWithUid:217 name:@"Thailand" longName:@"Kingdom of Thailand" designation:qeKeyCountryDesigIndep iso3166_1num:@"764" iso3166_1alpha2:@"TH" iso3166_1alpha3:@"THA" fips10_4:@"TH" dependencyOf:nil];
    [QECountry createCountryWithUid:218 name:@"Timor-Leste" longName:@"Democratic Republic of Timor-Leste" designation:qeKeyCountryDesigIndep iso3166_1num:@"626" iso3166_1alpha2:@"TL" iso3166_1alpha3:@"TLS" fips10_4:@"TT" dependencyOf:nil];
    [QECountry createCountryWithUid:219 name:@"Togo" longName:@"Togolese Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"768" iso3166_1alpha2:@"TG" iso3166_1alpha3:@"TGO" fips10_4:@"TO" dependencyOf:nil];
    [QECountry createCountryWithUid:220 name:@"Tonga" longName:@"Kingdom of Tonga" designation:qeKeyCountryDesigIndep iso3166_1num:@"776" iso3166_1alpha2:@"TO" iso3166_1alpha3:@"TON" fips10_4:@"TN" dependencyOf:nil];
    [QECountry createCountryWithUid:221 name:@"Trinidad and Tobago" longName:@"Republic of Trinidad and Tobago" designation:qeKeyCountryDesigIndep iso3166_1num:@"780" iso3166_1alpha2:@"TT" iso3166_1alpha3:@"TTO" fips10_4:@"TD" dependencyOf:nil];
    [QECountry createCountryWithUid:222 name:@"Tunisia" longName:@"Tunisian Republic" designation:qeKeyCountryDesigIndep iso3166_1num:@"788" iso3166_1alpha2:@"TN" iso3166_1alpha3:@"TUN" fips10_4:@"TS" dependencyOf:nil];
    [QECountry createCountryWithUid:223 name:@"Turkey" longName:@"Republic of Turkey" designation:qeKeyCountryDesigIndep iso3166_1num:@"792" iso3166_1alpha2:@"TR" iso3166_1alpha3:@"TUR" fips10_4:@"TU" dependencyOf:nil];
    [QECountry createCountryWithUid:224 name:@"Turkmenistan" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"795" iso3166_1alpha2:@"TM" iso3166_1alpha3:@"TKM" fips10_4:@"TX" dependencyOf:nil];
    [QECountry createCountryWithUid:225 name:@"Tuvalu" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"798" iso3166_1alpha2:@"TV" iso3166_1alpha3:@"TUV" fips10_4:@"TV" dependencyOf:nil];
    
#pragma mark COUNTRIES U
    [QECountry createCountryWithUid:226 name:@"Uganda" longName:@"Republic of Uganda" designation:qeKeyCountryDesigIndep iso3166_1num:@"800" iso3166_1alpha2:@"UG" iso3166_1alpha3:@"UGA" fips10_4:@"UG" dependencyOf:nil];
    [QECountry createCountryWithUid:227 name:@"Ukraine" longName:nil designation:qeKeyCountryDesigIndep iso3166_1num:@"804" iso3166_1alpha2:@"UA" iso3166_1alpha3:@"UKR" fips10_4:@"UP" dependencyOf:nil];
    [QECountry createCountryWithUid:228 name:nil longName:@"United Arab Emirates" designation:qeKeyCountryDesigIndep iso3166_1num:@"784" iso3166_1alpha2:@"AE" iso3166_1alpha3:@"ARE" fips10_4:@"AE" dependencyOf:nil];
    
#pragma mark United Kingdom and Possessions
    tmp = [QECountry createCountryWithUid:229 name:@"United Kingdom" longName:@"United Kingdom of Great Britain and Northern Ireland" designation:qeKeyCountryDesigIndep iso3166_1num:@"826" iso3166_1alpha2:@"GB" iso3166_1alpha3:@"GBR" fips10_4:@"UK" dependencyOf:nil];
    [QECountry createCountryWithUid:230 name:@"Anguilla" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"660" iso3166_1alpha2:@"AI" iso3166_1alpha3:@"AIA" fips10_4:@"AV" dependencyOf:tmp];
    [QECountry createCountryWithUid:231 name:@"Bermuda" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"060" iso3166_1alpha2:@"BM" iso3166_1alpha3:@"BMU" fips10_4:@"BD" dependencyOf:tmp];
    [QECountry createCountryWithUid:232 name:@"British Indian Ocean Territory" longName:@"British Indian Ocean Territory" designation:qeKeyCountryDesigTerr iso3166_1num:@"086" iso3166_1alpha2:@"IO" iso3166_1alpha3:@"IOT" fips10_4:@"IO" dependencyOf:tmp];
    [QECountry createCountryWithUid:233 name:@"British Virgin Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"092" iso3166_1alpha2:@"VG" iso3166_1alpha3:@"VGB" fips10_4:@"VI" dependencyOf:tmp];
    [QECountry createCountryWithUid:234 name:@"Cayman Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"136" iso3166_1alpha2:@"KY" iso3166_1alpha3:@"CYM" fips10_4:@"CJ" dependencyOf:tmp];
    [QECountry createCountryWithUid:235 name:@"Falkland Islands (Islas Malvinas)" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"238" iso3166_1alpha2:@"FK" iso3166_1alpha3:@"FLK" fips10_4:@"FK" dependencyOf:tmp];
    [QECountry createCountryWithUid:236 name:@"Gibraltar" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"292" iso3166_1alpha2:@"GI" iso3166_1alpha3:@"GIB" fips10_4:@"GI" dependencyOf:tmp];
    [QECountry createCountryWithUid:237 name:@"Guernsey" longName:@"Bailiwick of Guernsey" designation:qeKeyCountryDesigAutReg iso3166_1num:@"831" iso3166_1alpha2:@"GG" iso3166_1alpha3:@"GGY" fips10_4:@"GK" dependencyOf:tmp];
    [QECountry createCountryWithUid:238 name:@"Isle of Man" longName:nil designation:qeKeyCountryDesigAutReg iso3166_1num:@"833" iso3166_1alpha2:@"IM" iso3166_1alpha3:@"IMN" fips10_4:@"IM" dependencyOf:tmp];
    [QECountry createCountryWithUid:239 name:@"Jersey" longName:@"Bailiwick of Jersey" designation:qeKeyCountryDesigAutReg iso3166_1num:@"832" iso3166_1alpha2:@"JE" iso3166_1alpha3:@"JEY" fips10_4:@"JE" dependencyOf:tmp];
    [QECountry createCountryWithUid:240 name:@"Montserrat" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"500" iso3166_1alpha2:@"MS" iso3166_1alpha3:@"MSR" fips10_4:@"MH" dependencyOf:tmp];
    [QECountry createCountryWithUid:241 name:@"Pitcairn Islands" longName:@"Pitcairn, Henderson, Ducie, and Oeno Islands " designation:qeKeyCountryDesigTerr iso3166_1num:@"612" iso3166_1alpha2:@"PN" iso3166_1alpha3:@"PCN" fips10_4:@"PC" dependencyOf:tmp];
    [QECountry createCountryWithUid:242 name:@"Saint Helena" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"654" iso3166_1alpha2:@"SH" iso3166_1alpha3:@"SHN" fips10_4:@"SH" dependencyOf:tmp];
    [QECountry createCountryWithUid:243 name:nil longName:@"South Georgia and the South Sandwich Islands" designation:qeKeyCountryDesigTerr iso3166_1num:@"239" iso3166_1alpha2:@"GS" iso3166_1alpha3:@"SGS" fips10_4:@"SX" dependencyOf:tmp];
    [QECountry createCountryWithUid:244 name:@"Turks and Caicos Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"796" iso3166_1alpha2:@"TC" iso3166_1alpha3:@"TCA" fips10_4:@"TK" dependencyOf:tmp];
    
#pragma mark United States and Possessions
    tmp = [QECountry createCountryWithUid:245 name:@"United States" longName:@"United States of America" designation:qeKeyCountryDesigIndep iso3166_1num:@"840" iso3166_1alpha2:@"US" iso3166_1alpha3:@"USA" fips10_4:@"US" dependencyOf:nil];
    [QECountry createCountryWithUid:246 name:@"American Samoa" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"016" iso3166_1alpha2:@"AS" iso3166_1alpha3:@"ASM" fips10_4:@"AQ" dependencyOf:tmp];
    [QECountry createCountryWithUid:247 name:@"Baker Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"FQ" dependencyOf:tmp];
    [QECountry createCountryWithUid:248 name:@"Guam" longName:@"Territory of Guam" designation:qeKeyCountryDesigTerr iso3166_1num:@"316" iso3166_1alpha2:@"GU" iso3166_1alpha3:@"GUM" fips10_4:@"GQ" dependencyOf:tmp];
    tmpSub = [QECountry createCountryWithUid:249 name:@"United States Minor Outlying Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:@"581" iso3166_1alpha2:@"UM" iso3166_1alpha3:@"UMI" fips10_4:nil dependencyOf:tmp];
    [QECountry createCountryWithUid:250 name:@"Howland Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"HQ" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:251 name:@"Jarvis Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"DQ" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:252 name:@"Johnston Atoll" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"JQ" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:253 name:@"Kingman Reef" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"KQ" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:254 name:@"Midway Islands" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"MQ" dependencyOf:tmpSub];
    [QECountry createCountryWithUid:255 name:@"Palmyra Atoll" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"LQ" dependencyOf:tmpSub];
    // END UNITED STATES MINOR OUTLYING ISLANDS
    [QECountry createCountryWithUid:256 name:@"Navassa Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"BQ" dependencyOf:tmp];
    [QECountry createCountryWithUid:257 name:@"Northern Mariana Islands" longName:@"Commonwealth of the Northern Mariana Islands" designation:qeKeyCountryDesigAutReg iso3166_1num:@"580" iso3166_1alpha2:@"MP" iso3166_1alpha3:@"MNP" fips10_4:@"CQ" dependencyOf:tmp];	  
    [QECountry createCountryWithUid:258 name:@"Puerto Rico" longName:@"Commonwealth of Puerto Rico" designation:qeKeyCountryDesigTerr iso3166_1num:@"630" iso3166_1alpha2:@"PR" iso3166_1alpha3:@"PRI" fips10_4:@"RQ" dependencyOf:tmp];
    [QECountry createCountryWithUid:259 name:@"Virgin Islands" longName:@"United States Virgin Islands" designation:qeKeyCountryDesigTerr iso3166_1num:@"850" iso3166_1alpha2:@"VI" iso3166_1alpha3:@"VIR" fips10_4:@"VQ" dependencyOf:tmp];
    [QECountry createCountryWithUid:260 name:@"Wake Island" longName:nil designation:qeKeyCountryDesigTerr iso3166_1num:nil iso3166_1alpha2:nil iso3166_1alpha3:nil fips10_4:@"WQ" dependencyOf:tmp];
    
    [QECountry createCountryWithUid:261 name:@"Uruguay" longName:@"Oriental Republic of Uruguay" designation:qeKeyCountryDesigIndep iso3166_1num:@"858" iso3166_1alpha2:@"UY" iso3166_1alpha3:@"URY" fips10_4:@"UY" dependencyOf:nil];
    [QECountry createCountryWithUid:262 name:@"Uzbekistan" longName:@"Republic of Uzbekistan" designation:qeKeyCountryDesigIndep iso3166_1num:@"860" iso3166_1alpha2:@"UZ" iso3166_1alpha3:@"UZB" fips10_4:@"UZ" dependencyOf:nil];
    
#pragma mark COUNTRIES V
    [QECountry createCountryWithUid:263 name:@"Vanuatu" longName:@"Republic of Vanuatu" designation:qeKeyCountryDesigIndep iso3166_1num:@"548" iso3166_1alpha2:@"VU" iso3166_1alpha3:@"VUT" fips10_4:@"NH" dependencyOf:nil];
    [QECountry createCountryWithUid:264 name:@"Venezuela" longName:@"Bolivarian Republic of Venezuela" designation:qeKeyCountryDesigIndep iso3166_1num:@"862" iso3166_1alpha2:@"VE" iso3166_1alpha3:@"VEN" fips10_4:@"VE" dependencyOf:nil];
    [QECountry createCountryWithUid:265 name:@"Vietnam" longName:@"Socialist Republic of Vietnam" designation:qeKeyCountryDesigIndep iso3166_1num:@"704" iso3166_1alpha2:@"VN" iso3166_1alpha3:@"VNM" fips10_4:@"VM" dependencyOf:nil];
    
#pragma mark COUNTRIES W
    [QECountry createCountryWithUid:266 name:@"Western Sahara" longName:nil designation:qeKeyCountryDesigContest iso3166_1num:@"732" iso3166_1alpha2:@"EH" iso3166_1alpha3:@"ESH" fips10_4:@"WI" dependencyOf:nil];
    
#pragma mark COUNTRIES Y
    [QECountry createCountryWithUid:267 name:@"Yemen" longName:@"Republic of Yemen" designation:qeKeyCountryDesigIndep iso3166_1num:@"887" iso3166_1alpha2:@"YE" iso3166_1alpha3:@"YEM" fips10_4:@"YM" dependencyOf:nil];
    
#pragma mark COUNTRIES Z
    [QECountry createCountryWithUid:268 name:@"Zambia" longName:@"Republic of Zambia" designation:qeKeyCountryDesigIndep iso3166_1num:@"894" iso3166_1alpha2:@"ZM" iso3166_1alpha3:@"ZMB" fips10_4:@"ZA" dependencyOf:nil];
    [QECountry createCountryWithUid:269 name:@"Zimbabwe" longName:@"Republic of Zimbabwe" designation:qeKeyCountryDesigIndep iso3166_1num:@"716" iso3166_1alpha2:@"ZW" iso3166_1alpha3:@"ZWE" fips10_4:@"ZI" dependencyOf:nil];
} // createCountries
@end
